home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / CRS / crs52.d81 / tinyplt.arc / TINY PILOT 64 (.txt)
Commodore BASIC  |  2009-10-10  |  15KB  |  490 lines

  1. 1 GOTO910
  2. 2 PRINT"x[169][141][169][141]X` [234][255][169][255][133][145]L4[234]x[169]1[141][169][234][141]X` 
  3. 3 [153]"xSTEPGINPUTSTOPSTEPINPUTONX` (null)(null)STEP(null)INPUTLISTLX(null)xSTEPUINPUTSTOPSTEP(null)INPUTONX`    
  4. 4 PRINT"xhhh[170]h[168]hhhhhhh[152]H[138]HX`    
  5. 5 [153]"hhhhhhh`  
  6. 6 PRINT"[160][255][200][132][251][169][216][133][252] [241][183][138][162][160][255][200][145][251][136][208][251][230][252][202][208][246]`   
  7. 7 [153]"NEWCLOSE(null)LEFT$>(null)ON(null)LET(null)(null)(null)(null)(null)(null)MID$(null)(null)`  
  8. 35 IFUW=0THENSYSUU,15
  9. 40 POKEUC,0:POKEUN,0:UR$="":UI$="":IFUL=0THENUL=39
  10. 45 GETUI$:IFUI$=""THEN45
  11. 50 UA=ASC(UI$):UR=LEN(UR$):IFUA=13ANDUR>0THENPOKEUC,1:PRINT" [157]";:GOTO70
  12. 55 IFUA=20THENON-(UR=0)GOTO45:UR$=LEFT$(UR$,UR-1):PRINT"[157]  [157][157]";:GOTO45
  13. 60 IFUR=ULTHEN45
  14. 65 GOSUB95:UR$=UR$+UI$:PRINTUI$;:GOTO45
  15. 70 IFUR$=UX$THENPRINT"[157] ";:GOTO145
  16. 75 FORUI=URTO1STEP-1:IFMID$(UR$,UI,1)=" "THENNEXT
  17. 80 UR$=LEFT$(UR$,UI):PRINT:RETURN
  18. 95 IFLEN(US$)=0THEN110
  19. 100 FORUI=1TOLEN(US$):IFUI$<>MID$(US$,UI,1)THENNEXT:UI$=""
  20. 105 RETURN
  21. 110 IFUA=46THENRETURN
  22. 111 IF UA=59ORUA=36THENRETURN
  23. 112 IFUI$=":"THENRETURN
  24. 113 IFUI$="*"THENRETURN
  25. 115 IFUA=32ANDUR<>0THENRETURN
  26. 120 IFUA>47ANDUA<58THENRETURN
  27. 125 IFUA>64ANDUA<91THENRETURN
  28. 130 IFUA<193ORUA>218THENUI$="":RETURN
  29. 135 IFPEEK(UT)=UU%THENUI$=CHR$(UA-128)
  30. 140 RETURN
  31. 145 GOSUB170:POKE251,0:POKE252,US/256:POKE253,0:POKE254,UF:SYSUV
  32. 150 UZ=1:UV%=PEEK(UT):GOTO300
  33. 155 UZ=0:US$=UJ$:UG$=UK$:UT$=UL$:UP=UJ:UL=UK:PRINT"[147]";:IFUW=0THENPOKEUY,6:POKEUX,6
  34. 160 POKEUT,UV%:POKE251,0:POKE252,UF:POKE253,0:POKE254,US/256:SYSUV:IFUW=0THENSYSUU,15
  35. 165 POKEU1,U1%:POKEU2,U2%:POKEU3,U3%-1:POKEU4,U4%:GOTO35
  36. 170 U1%=PEEK(U1):U2%=PEEK(U2):U3%=PEEK(U3):U4%=PEEK(U4)
  37. 175 UJ$=US$:UK$=UG$:UL$=UT$:UJ=UP:UK=UL:RETURN
  38. 300 PRINT"[147]":POKEUT,UU%:IFUW=0THENPOKEUY,12:POKEUX,6
  39. 305 PRINT"                M E N U"
  40. 310 PRINT"    --------------------------------"
  41. 315 PRINT"       1.   BEGIN PILOT"
  42. 320 PRINT"       2.   STUDENT INSTRUCTIONS"
  43. 325 PRINT"       3.   TEACHER INSTRUCTIONS"
  44. 330 PRINT"       4.   QUIT"
  45. 335 PRINT"    --------------------------------"
  46. 340 PRINT"       PRESS A NUMBER KEY (1-4) ";
  47. 345 UL=1:US$="1234"
  48. 347 GOSUB35:US$=""
  49. 350 ONVAL(UR$)GOSUB1000,400,500,390
  50. 355 GOTO300
  51. 370 IFUZ=1THENSYSUP%:GOTO155
  52. 375 RETURN
  53. 390 SYSUE:PRINT"[154][147]":IFUW=0THENPOKEUY,6:POKEUX,14:SYSUU,14
  54. 395 CLR:END
  55. 400 PRINT"[147]":POKEUT,UL%:IFUW=0THENPOKEUY,11:POKEUX,12
  56. 405 UT$=" [208]ILOT":UH=1:UP=0:UG$="[211]TUDENT [201]NST":GOSUB850
  57. 420 GOSUB3000
  58. 485 GOSUB835
  59. 490 IFUZ=1THENSYSUP%:GOTO155
  60. 495 RETURN
  61. 500 PRINT"[147]":POKEUT,UL%:IFUW=0THENPOKEUY,2:POKEUX,10
  62. 501 UT$=" [208]ILOT":UH=1:UP=0:UG$="[212]EACHER [201]NST":GOSUB850
  63. 502 PRINT"     [212]O THE BEST OF OUR KNOWLEDGE,"
  64. 503 PRINT"     THIS PROGRAM IS IN THE PUBLIC"
  65. 504 PRINT"     DOMAIN.  [201]F THIS IS NOT TRUE,"
  66. 505 PRINT"     PLEASE CONTACT:"
  67. 506 PRINT"      [195][207][205][205][207][196][207][210][197][160][194][213][211][201][206][197][211][211][160][205][193][195][200][201][206][197][211]"
  68. 507 PRINT"          3370 [208]HARMACY [193]VE.
  69. 508 [153]"          ATNGINCOURT, (null)NTARIO"
  70. 509 [153]"          LENANADA, (null)1(null) 2(null)4"
  71. 510 [153]"          (416) 499-4292"
  72. 511 UH[178]1:[141]835:[141]850
  73. 512 [153]"      (null)ROGRAM (null)AME: (null)ILOT
  74. 513 PRINT"      [215]RITTEN BY  : [210]. [196]RAKE
  75. 514 [153]"      (null)EVISED BY  : PEEKRIAN (null)UNSHAW"
  76. 515 [153]"      (null)HIS PROGRAM WILL RUN ON ANY
  77. 516 PRINT"         [194][193][211][201][195][160]2.0 [208][197][212] [195]OMPUTER
  78. 517 [153]"         PEEKATN(null)RIGHT$LEN 4.0 (null)VAL(null)CLOSELENOMPUTER
  79. 518 PRINT"         8032 [195][194][205] [195]OMPUTER
  80. 519 [153]"         LENOMMODORE 64 LENOMPUTER
  81. 520 UH=1:GOSUB835:GOSUB850:GOSUB5000
  82. 585 GOSUB835
  83. 590 IFUZ=1THENSYSUP%:GOTO155
  84. 595 RETURN
  85. 700 PRINTUC$"[147]BEFORE RUNNING THIS PROGRAM ON AN 8032
  86. 705 [153]"      LOAD THE 'CBM 4032' PROGRAM":[128]
  87. 800 [153]"LOAD";:[151]UT,UU%:[139]UW[178]0[167][151]UY,1:[151]UX,14
  88. 801 [129]I[178]1[164]38:[153]" WAIT";:[130]
  89. 802 [129]I[178]1[164]22:[153]"CMD WAIT";:[130]
  90. 803 [129]I[178]1[164]37:[153]"CMDCMD WAIT";:[130]
  91. 804 [129]I[178]1[164]22:[153]"ONCMD WAIT";:[130]
  92. 805 [153]"STEP  WAIT
  93. 806 PRINT" [146]   [146][169]
  94. 807 [153]" WAIT  TAB((null)WAIT O M M O D O R E
  95. 808 PRINT"[223]  [146]
  96. 809 [153]"EDUCATIONAL
  97. 810 PRINT"SOFTWARE
  98. 811 [153]"1985
  99. 812 PRINTLEFT$(UD$,24);"PRESS SPACE BAR OR WAIT[146]"UC$:UI=0
  100. 813 GETUI$:IFUI$<>" "THENUI=UI+1:IFUI<250THEN813
  101. 814 GOTO300
  102. 835 POKEUN,0:PRINTLEFT$(UD$,24);"PRESS SPACE BAR TO CONTINUE[146]"
  103. 840 GETUI$:IFUI$<>" "THEN840
  104. 845 RETURN
  105. 850 UP=UP+1:PRINT"[147]"LEFT$(UT$+UP$,21);RIGHT$(UP$+UG$+STR$(UP),18)
  106. 855 PRINT" --------------------------------------"
  107. 860 IFUH=0THENPRINTLEFT$(UD$,24);LEFT$(UP$,7);"HELP - PRESS   H <RETURN>"
  108. 865 UH=0:PRINT"":RETURN
  109. 875 PRINTLEFT$(UD$,24);"           ONE MOMENT PLEASE...     ":RETURN
  110. 900 UX$="H":US=32768:U1=196:U2=197:U3=198:U4=216:UC=167:UB=1024:UD=1084:UE=1105
  111. 901 UT=59468:UU%=12:UL%=14:UP%=1158:UN=158:POKE50003,0:UW=PEEK(50003):UF=PEEK(53)
  112. 902 IFUW=0THENUS=1024:U1=209:U2=210:U3=211:U4=214:UC=204:UB=2048:UX=53280:UD=2064
  113. 903 IFUW=0THENUT=53272:UU%=21:UL%=23:UP%=2151:UN=198:UY=53281:UU=2199:UE=2087
  114. 904 UC$=CHR$(155):UV=1214:IFUW=0THENUF=196:UV=2238
  115. 905 UD$="":UP$="                                      "
  116. 907 DIMP$(150),Q$(150),I$(20),R$(6),X$(4),OP$(2),C$(12)
  117. 909 RETURN
  118. 910 GOSUB900:PRINT"[147]":PRINT"[160]":REM SHIFTED SPACE
  119. 915 IFPEEK(US+40)<>96THEN700
  120. 920 IF(FRE(0)-(SGN(FRE(0))<0)*65536)>500THEN935
  121. 925 PRINTUC$"[147]THIS MACHINE DOES NOT HAVE ENOUGH"
  122. 930 PRINT"MEMORY TO RUN THIS PROGRAM !":SYSUE:END
  123. 935 PRINT"[147]"UC$:IFUW=0THEN965
  124. 940 IFUF=60ORUF=108ORUF=124THEN950
  125. 945 POKE52,0:POKE53,UF-4:CLR:GOSUB900
  126. 950 IFUW=160THENPOKE1103,88:POKE1104,228:POKE1107,85:POKE1111,228:GOTO965
  127. 955 IFUW<>1THENPRINT"[147]THIS PGM WILL NOT WORK ON THIS MACHINE!":SYSUE:END
  128. 960 POKE1103,49:POKE1104,230:POKE1107,46:POKE1111,230:GOTO965
  129. 965 SYSUD
  130. 970 GOSUB800:GOTO300
  131. 1000 IFUZ=1THENSYSUP%:SYSUP%:UZ=0
  132. 1001 PRINT"[147]"UC$;:RESTORE:IFUW=0THENPOKEUY,6:POKEUX,6
  133. 1005 CLOSE8:CLOSE1
  134. 1015 RESTORE
  135. 1020 DATA C,H,D,R,U,L
  136. 1030 FORI=1TO6:READSC$(I):NEXTI
  137. 1041 N$="0123456789"
  138. 1050 DATAE,A,T,M,J,S,B,X,U,R,Z,W
  139. 1060 DATANEW,RUN,LIST,STOP,EDIT,LOAD,SAVE,I,J,K,L
  140. 1070 FORI=1TO12:READC$(I):NEXTI
  141. 1080 FORI=0TO6:READR$(I):NEXTI
  142. 1090 FORI=1TO4:READX$(I):NEXTI
  143. 1100 OP$(0)=">":OP$(1)="<":OP$(2)="="
  144. 1110 GOTO1420
  145. 1120 FORA=1TO150:P$(A)="":Q$(A)="":NEXTA:LI=1:FORA=1TO150
  146. 1130 PRINTLEFT$(UD$,LI)RIGHT$(UP$+STR$(A),4)" ";:UL=30:US$="":GOSUB35:P$(A)=UR$
  147. 1140 IFP$(A)="DONE"GOTO1200
  148. 1190 LI=LI+1:IFLI=18THENPRINTLEFT$(UD$,25):LI=17
  149. 1195 NEXT
  150. 1200 PRINT"[147]":LI=1:C=0:A1=A-1:M=0:FORA=1TOA1:FORB=1TOLEN(P$(A))
  151. 1210 IFMID$(P$(A),B,1)<>"*"ANDMID$(P$(A),B,1)<>"!"GOTO1230
  152. 1220 GOTO1290
  153. 1230 IFMID$(P$(A),B,1)<>":"GOTO1270
  154. 1240 Q$(A)=LEFT$(P$(A),B-1):IFLEN(P$(A))=LEN(Q$(A))+1THEN P$(A)=".":GOTO1290
  155. 1250 P$(A)=RIGHT$(P$(A),LEN(P$(A))-B)
  156. 1260 GOTO1290
  157. 1270 NEXTB
  158. 1280 PRINTLEFT$(UD$,LI)"COMMAND ERROR IN"A
  159. 1285 LI=LI+1:IFLI=18THENPRINTLEFT$(UD$,25):LI=17
  160. 1290 NEXTA
  161. 1300 GOTO1420
  162. 1310 C1=0:FORB=1TO4:I(B)=0:NEXTB:PRINT"[147]---RUN OF PROGRAM---"
  163. 1320 FORA=1TOA1:FORC2=1TO12:IFLEFT$(Q$(A),1)=C$(C2)GOTO1340
  164. 1330 NEXTC2:GOTO1400
  165. 1340 IFLEN(Q$(A))<>2GOTO1380
  166. 1350 IFRIGHT$(Q$(A),1)="Y"GOTO2660
  167. 1360 IFRIGHT$(Q$(A),1)="N"GOTO2680
  168. 1370 PRINT"INCORRECT CONDITIONAL IN LINE"A:GOTO1420
  169. 1380 IFC2=1THENGOTO1410
  170. 1390 ONC2GOSUB1040,1790,1590,1710,1860,1920,2010,2050,2170,2180,2190,2460
  171. 1400 GETA$:IFA$=CHR$(3)THEN PRINT"STOPPED AT LINE"A:GOTO 1420
  172. 1405 NEXT A
  173. 1410 M=0:PRINT"END OF RUN"
  174. 1420 GOSUB11000
  175. 1422 PRINTLEFT$(UD$,19):PRINT"NEW LIST RUN STOP EDIT LOAD SAVE"
  176. 1423 PRINT"COMMAND:[146]     [157][157][157][157]";
  177. 1425 UZ=1:UL=4:US$="":GOSUB35:R$=UR$:PRINT
  178. 1430 FORR=0TO6:IFR$=R$(R)THENPRINT"[147]":GOTO1470
  179. 1440 NEXTR
  180. 1450 PRINT"I DON'T UNDERSTAND "UR$".     [145][145][145][145]"
  181. 1460 GOTO1423
  182. 1470 IF R<>2 THEN 1480
  183. 1471 LI=1:GOSUB11000:PRINT"STARTING LINE: ";:UL=3:US$=N$:GOSUB35:A=VAL(UR$)
  184. 1472 PRINT"ENDING LINE:   ";:UL=3:US$=N$:GOSUB35:BD=VAL(UR$)
  185. 1480 PRINT"[147]":ONR+1GOTO1120,1310,1490,1580,2220,2570,2480
  186. 1490 IFR=2THENA=A-1:GOTO1510
  187. 1500 A=0:BD=999
  188. 1510 A=A+1:IFA>A1ORA>BDGOTO1420
  189. 1520 PRINTLEFT$(UD$,LI);:IFQ$(A)<>""GOTO1540
  190. 1530 PRINTRIGHT$(UP$+STR$(A),5);TAB(6)P$(A):GOTO1565
  191. 1540 PRINTRIGHT$(UP$+STR$(A),5);TAB(6)Q$(A)":";:IFP$(A)="."THENPRINT:GOTO1565
  192. 1550 PRINTP$(A)
  193. 1565 LI=LI+1:IFLI=18THENLI=17:PRINTLEFT$(UD$,25)
  194. 1570 GOTO1510
  195. 1580 UZ=0:GOTO300
  196. 1590 FORZ=1TOLEN(P$(A)):IFMID$(P$(A),Z,1)="$"GOTO1610
  197. 1600 NEXTZ:GOTO1690
  198. 1610 FORZ1=Z+1TOLEN(P$(A)):IFMID$(P$(A),Z1,1)="$"THEN GOTO1630
  199. 1620 NEXTZ1:GOTO1690
  200. 1630 V$=MID$(P$(A),Z+1,Z1-Z):FORH=C1-1TO1STEP-1
  201. 1640 IFV$<>I$(H)THEN GOTO1680
  202. 1650 PRINTLEFT$(P$(A),Z-1)I$(H+1);:IFZ1>=LEN(P$(A))THENPRINT:GOTO1670
  203. 1660 PRINTRIGHT$(P$(A),LEN(P$(A))-Z1)
  204. 1670 GOTO1700
  205. 1680 NEXTH
  206. 1690 PRINTP$(A)
  207. 1700 RETURN
  208. 1710 M=0:E1=1
  209. 1720 FORE=1TOLEN(P$(A)):IFMID$(P$(A),E,1)="."GOTO1740
  210. 1730 GOTO1760
  211. 1740 IFMID$(P$(A),E1,LEN(Z$))=Z$GOTO1770
  212. 1750 E1=E+1
  213. 1760 NEXTE:RETURN
  214. 1770 M=1
  215. 1780 RETURN
  216. 1790 FORZ=1TOLEN(P$(A)):IFMID$(P$(A),Z,1)<>"$"GOTO1830
  217. 1800 C1=C1+2:I$(C1-1)=P$(A)
  218. 1810 UL=79:US$="":PRINT"? ";:GOSUB35:I$(C1)=UR$
  219. 1820 Z$=I$(C1):GOTO1850
  220. 1830 NEXTZ
  221. 1840 UL=79:US$="":GOSUB35:Z$=UR$
  222. 1850 RETURN
  223. 1860 FORD=1TOA1:IFQ$(D)<>""GOTO1900
  224. 1870 IFP$(A)<>P$(D)GOTO1900
  225. 1880 A=D
  226. 1890 RETURN
  227. 1900 NEXTD
  228. 1910 PRINT"JUMP TO UNFOUND LABEL":GOTO1420
  229. 1920 FORZI=1TO6:IFP$(A)=SC$(ZI)GOTO1940
  230. 1930 NEXTZI:PRINT" UNFOUND SCREEN COMMAND IN LINE"A:GOTO1420
  231. 1940 ONZIGOTO1950,1960,1970,1980,1990,2000
  232. 1950 PRINT"[147]";:RETURN
  233. 1960 PRINT"";:RETURN
  234. 1970 PRINT"";:RETURN
  235. 1980 PRINT"";:RETURN
  236. 1990 PRINT"[145]";:RETURN
  237. 2000 PRINT"[157]";:RETURN
  238. 2010 FORB=1TO4:IFP$(A)=X$(B)THENI(B)=I(B)+1:GOTO2040
  239. 2020 NEXTB
  240. 2030 PRINT"ILLEGAL VALUE IN LINE"A:GOTO1420
  241. 2040 RETURN
  242. 2050 M=0:R$=LEFT$(P$(A),1):FORB=1TO4:IFR$=X$(B)GOTO2070
  243. 2060 NEXTB:GOTO2030
  244. 2070 R$=MID$(P$(A),2,1):FORBB=0TO2:IFR$=OP$(BB)GOTO2090
  245. 2080 NEXTBB:GOTO2030
  246. 2090 R$=RIGHT$(P$(A),LEN(P$(A))-2)
  247. 2100 ONBB+1GOTO2110,2130,2150
  248. 2110 IFI(B)>VAL(R$)THENM=1
  249. 2120 RETURN
  250. 2130 IFI(B)<VAL(R$)THENM=1
  251. 2140 RETURN
  252. 2150 IFI(B)=VAL(R$)THENM=1
  253. 2160 RETURN
  254. 2170 DD=A:GOTO1860
  255. 2180 A=DD:RETURN
  256. 2190 FORB=1TO4:IFP$(A)=X$(B)THENI(B)=0:GOTO2210
  257. 2200 NEXTB:GOTO2030
  258. 2210 RETURN
  259. 2220 GOSUB11000:PRINT"EDITOR":GOTO2270
  260. 2225 GOSUB11000
  261. 2226 PRINT"WHAT LINE TO EDIT:    [157][157][157]";
  262. 2227 US$="E0123456789H":UL=3:GOSUB35:A=VAL(UR$):IFUR$="E"THEN1570
  263. 2228 IFA>A1ORA=0THENPRINT"[145][145][145]":GOTO2226
  264. 2229 GOSUB11000:IFA1=0ORA=0THEN1420
  265. 2230 PRINT"LINE:[146]"A;
  266. 2235 IFQ$(A)<>""THEN2250
  267. 2240 PRINTP$(A):GOTO2270
  268. 2250 PRINTQ$(A)":";:IFP$(A)="."THENPRINT:GOTO2270
  269. 2260 PRINTP$(A)
  270. 2270 PRINT"C[146]HANGE D[146]ELETE I[146]NSERT S[146]ET LINE":PRINT"E[146]XIT
  271. 2280 [161]A$:[139]A$[178]""[137]2280
  272. 2285 [139]A$[178]"S"[167]2225
  273. 2290 [139]A$[178]"E"[137]1420
  274. 2300 [139]A$[178]"D"[137]2350
  275. 2310 [139]A$[178]"I"[137]2360
  276. 2320 [139]A$[178]"C"[137]2380
  277. 2330 [137]2280
  278. 2350 [129]G[178]A[164]A1[171]1:Q$(G)[178]Q$(G[170]1):P$(G)[178]P$(G[170]1):[130]G:A1[178]A1[171]1:A[178]A[171]1:[137]2229
  279. 2360 [129]G[178]A1[170]1[164]A[169][171]1:Q$(G[170]1)[178]Q$(G):P$(G[170]1)[178]P$(G):[130]G
  280. 2370 A1[178]A1[170]1:
  281. 2380 [141]11000:UL[178]30:US$[178]"":[153][200](UD$,19)UP$:[153]"ONLINE:WAIT ";
  282. 2385 [141]35:P$(A)[178]UR$:[153]:Q$(A)[178]""
  283. 2390 [129]B[178]1[164][195](P$(A)):[139][202](P$(A),B,1)[179][177]"*"[175][202](P$(A),B,1)[179][177]"!"[137]2410
  284. 2400 [137]2229
  285. 2410 [139][202](P$(A),B,1)[179][177]":"[137]2450
  286. 2420 Q$(A)[178][200](P$(A),B[171]1):[139][195](P$(A))[178][195](Q$(A))[170]1[167]P$(A)[178]".":[137]2440
  287. 2430 P$(A)[178][201](P$(A),[195](P$(A))[171]B)
  288. 2440 [137]2229
  289. 2450 [130]B:[153]"COMMAND ERROR IN LINE.":[137]2229
  290. 2460 [139][200](P$(A),1)[178]""[137]1590
  291. 2470 P$(A)[178]""[170]P$(A):[137]1590
  292. 2480 [141]11000:[153]"WHAT FILE NAME (10 CHAR.MAX)? ";:UL[178]10:US$[178]"":[141]35
  293. 2481 NM$[178]UR$[170]".PILOT"
  294. 2482 [153]"DWAITISK OR TWAITAPE? ";:UL[178]1:US$[178]"DT":[141]35:DV[178]1:[139]UR$[178]"D"[167]DV[178]8
  295. 2490 [139] DV[178]8 [167] [159]8,8,15:NM$[178]"0:"[170]NM$[170]",S,W"
  296. 2495 [159]1,DV,DV,NM$
  297. 2496 [139]DV[178]8[167][132]8,A$,B$:[139]A$[179][177]"00"[167][153]""B$:[160]8:[160]1:[137]2560
  298. 2500 [153]"WRITINGWAIT"
  299. 2510 [152]1,A1:[129]I[178]1[164]A1
  300. 2520 [139]Q$(I)[178]""[167]Q$(I)[178]"."
  301. 2530 [152]1,Q$(I):[152]1,P$(I)
  302. 2540 [139]Q$(I)[178]"."[167]Q$(I)[178]""
  303. 2550 [130]I:[160]1:[139]DV[178]8[167][160]8
  304. 2560 [137]1420
  305. 2570 [141]11000:[153]"FILE NAME (10 CHAR.MAX)? ";:UL[178]10:US$[178]"":[141]35
  306. 2571 NM$[178]UR$[170]".PILOT":[153]"DWAITISK OR TWAITAPE? ";:UL[178]1:US$[178]"DT":[141]35
  307. 2572 DV[178]1:SA[178]0:[139]UR$[178]"D"[167]DV[178]8:SA[178]8:NM$[178]"0:"[170]NM$[170]",S,R"
  308. 2575 [139] DV[178]8 [167] [159]8,8,15
  309. 2580 [159]1,DV,SA,NM$
  310. 2582 [139]DV[178]8[167][132]8,A$,B$:[139]A$[179][177]"00"[167] [153]""B$:[160]1:[160]8:[137]2560
  311. 2590 [153]"LOADING"
  312. 2600 [132]1,A1
  313. 2610 [129]I[178]1[164]A1:[132]1,Q$(I)
  314. 2620 [139]Q$(I)[178]"."[167]Q$(I)[178]""
  315. 2630 [132]1,P$(I):[130]I
  316. 2640 [160]1:[139]DV[178]8 [167] [160]8
  317. 2650 [137]1420
  318. 2660 [139]M[178]1[137]1390
  319. 2670 [137]1400
  320. 2680 [139]M[178]1[137]1400
  321. 2690 [137]1390
  322. 3000 [143] STUDENT INSTRUCTIONS
  323. 3010 [153]" (null)RIGHT$(null)(null)(null) [2.0]WAIT (null)ODIFIED BY (null). STR$RAKE 1982
  324. 3020 PRINT" [208][201][204][207][212] = [208][146]ROGRAMMED [201][146]NQUIRY,
  325. 3025 [153]"         (null)WAITEARNING (null)WAITR (null)WAITEACHING"
  326. 3030 [153]" (null)RIGHT$(null)(null)(null) IS A PROGRAMMING LANGUAGE
  327. 3040 PRINT" SIMPLE ENOUGH FOR SMALL CHILDREN TO
  328. 3050 [153]" USE. (null)HIS PROGRAM LETS YOU WRITE,
  329. 3060 PRINT" EDIT, SAVE AND EXECUTE (RUN) PROGRAMS
  330. 3070 [153]" WRITTEN IN A SUBSET OF (null)RIGHT$(null)(null)(null). (null)HIS
  331. 3080 PRINT" PROGRAM IS ACTUALLY A [212]INY-[208][201][204][207][212]."
  332. 3090 GOSUB835:UH=1:GOSUB850
  333. 3100 PRINT" [208][201][204][207][212] HAS ONLY A FEW SIMPLE
  334. 3110 [153]" COMMANDS.  ATNLL COMMANDS ARE SINGLE
  335. 3120 PRINT" LETTERS FOLLOWED BY A COLON (:).
  336. 3130 [153]" ASCOR EXAMPLE VAL: MARKS THE END
  337. 3132 PRINT" OF A [208][201][204][207][212] PROGRAM.
  338. 3135 [141]835:UH[178]1:[141]850
  339. 3140 [153]" (null)HERE ARE 2 COMMANDS TO WRITE OR"
  340. 3150 [153]" PRINT ON THE SCREEN. (null)HEY ARE:
  341. 3160 PRINT"    [212]:    AND      [215]:
  342. 3170 [153]"    (null):  COPIES WHATEVER FOLLOWS IT
  343. 3180 PRINT"    [215]:  PRINTS IN REVERSE FIELD[146].
  344. 3190 [153]" ASCOR EXAMPLE, TO PRINT LEFT$VAL(null)(null)(null), USE THE
  345. 3200 PRINT" COMMAND:    [212]:[200][197][204][204][207]
  346. 3210 [153]" OR          (null):LEFT$VAL(null)(null)(null) TO GET LEFT$VAL(null)(null)(null)WAIT
  347. 3220 GOSUB835:UH=1:GOSUB850
  348. 3230 PRINT" [217]OU CAN ASK FOR INFORMATION (INPUT)
  349. 3240 [153]" WITH  ATN:.
  350. 3250 PRINT" [212]HE DATA IS STORED IN A VARIABLE
  351. 3260 [153]" ENDING IN A $. ASCOR EXAMPLE: ATN;(null)ATN(null)VAL$
  352. 3270 PRINT" WILL STORE A USER'S INPUT IN [206][193][205][197]$"
  353. 3280 PRINT" [217]OU CAN TYPE THE CONTENTS OF
  354. 3290 [153]" VARIABLES ON THE SCREEN WITH (null): OR (null):
  355. 3300 PRINT" [197].G.   [212]:[215][200][193][212][160][201][211][160][217][207][213][210][160][206][193][205][197]?
  356. 3310 [153]"        ATN:(null)ATN(null)VAL$
  357. 3320 PRINT"        [212]:[200][197][204][204][207][160]$[206][193][205][197]$
  358. 3325 [153]"        VAL:
  359. 3330 PRINT" [206]OTE THE EXTRA $.
  360. 3340 [141]835:UH[178]1:[141]850
  361. 3350 [153]" STR$ATA TYPED IN CAN BE COMPARED FOR
  362. 3360 PRINT" CORRECTNESS. [215]HEN A MATCH IS MADE
  363. 3362 [153]" (OR NOT MADE) A (null)ES/(null)O FLAG IS SET.
  364. 3370 PRINT" [198]OR EXAMPLE, LET US ASK FOR A VOWEL
  365. 3380 [153]" AND CHECK FOR A CORRECT ANSWER.
  366. 3390 PRINT"   [212]:[212][217][208][197][160][193][160][214][207][215][197][204]
  367. 3400 [153]"   ATN:(null)(null)(null)$
  368. 3410 PRINT"   [205]:[193].[197].[201].[207].[213].
  369. 3420 [153]"  (null)(null):LEN(null)(null)(null)VALLEN(null)
  370. 3430 PRINT"  [212][206]:$[214][207][215]$ [201][211][160][206][207][212][160][193][160][214][207][215][197][204]
  371. 3435 [153]"   VAL:
  372. 3440 GOSUB835:UH=1:GOSUB850
  373. 3450 PRINT" [206]OTE THE ITEMS IN THE MATCH LIST ARE
  374. 3460 [153]" SEPARATED BY PERIODS. ATNLSO NOTICE THE
  375. 3470 PRINT" MODIFIERS TO THE [212]: COMMAND.
  376. 3480 [153]" (null)(null): IS PRINTED IF THE MATCH IS (null)ES.
  377. 3490 PRINT" [212][206]: IS EXECUTED IF THE MATCH IS [206]O.
  378. 3495 [141]835:UH[178]1:[141]850
  379. 3500 [153]"  (null)HE PRINTING ON THE SCREEN CAN BE
  380. 3510 PRINT" CONTROLLED TO A CERTAIN EXTENT WITH
  381. 3520 [153]" (null):  (null)HERE ARE 6 SCREEN COMMANDS.
  382. 3530 PRINT"      [211]:[195]    CLEAR THE SCREEN
  383. 3540 [153]"      (null):LEFT$    HOME PRINTING POSITION
  384. 3550 PRINT"      [211]:[204]    GO LEFT 1 SPACE
  385. 3560 [153]"      (null):(null)    GO RIGHT 1 SPACE
  386. 3570 PRINT"      [211]:[213]    GO UP 1 LINE
  387. 3580 [153]"      (null):STR$    GO DOWN 1 LINE
  388. 3590 GOSUB835:UH=1:GOSUB850
  389. 3600 PRINT" [208][201][204][207][212] ALSO GIVES THE FACILITY FOR
  390. 3610 [153]" LOOPS.  (null)HE COMMANDS ARE MID$: (null): PEEK:
  391. 3615 PRINT" AND [216]: ."
  392. 3620 PRINT" [202]: IS A JUMP COMMAND. [202]: IS ALWAYS
  393. 3630 [153]" USED WITH A LABEL INDICATING THE
  394. 3640 PRINT" START OF THE LOOP. [204]ET'S TRY A
  395. 3650 [153]" PROGRAM THAT ASKS OUR NAME AND PRINTS
  396. 3660 PRINT" THE NAME CONTINUOUSLY.
  397. 3665 [141]835:UH[178]1:[141]850
  398. 3670 [153]"    (null):(null)LEFT$ATN(null)CLOSERIGHT$(null)CLOSE(null)(null)(null)(null)CLOSE(null)ATN(null)VAL?
  399. 3680 PRINT"    [193]:[206][193][205][197]$
  400. 3690 [153]"     *PEEKVALCHR$RIGHT$(null)
  401. 3700 PRINT"    [212]:$[206][193][205][197]$
  402. 3710 [153]"    MID$:*PEEKVALCHR$RIGHT$(null)
  403. 3720 PRINT"    [197]:
  404. 3730 [153]" *PEEKVALCHR$RIGHT$(null) IS THE LABEL MARKING THE START
  405. 3740 PRINT" OF THE LOOP. [206]OTE THAT LABELS START
  406. 3741 [153]" WITH A *.
  407. 3760 GOSUB835:UH=1:GOSUB850
  408. 3770 PRINT"  [204]OOPS CAN BE CONTROLLED WITH THE
  409. 3780 [153]" OTHER COMMANDS. (null)OU CAN HAVE UP TO
  410. 3790 PRINT" 4 LOOPS.  [212]HE LOOP VARIABLES ARE:
  411. 3800 [153]" I, J, K AND L.
  412. 3805 GOSUB835:UH=1:GOSUB850
  413. 3810 PRINT" [218]: ZEROS A VARIABLE. [211]O...
  414. 3820 [153]" (null):RIGHT$ IS THE SAME AS RIGHT$=0
  415. 3830 PRINT" [194]:[201] INCREASES [201] BY 1
  416. 3840 [153]" (null): WITH <,= AND > LETS YOU CHECK THE
  417. 3850 PRINT" LOOP VARIABLE.
  418. 3851 [153]" LEFT$ERE'S A PROGRAM TO ASK YOUR NAME
  419. 3852 PRINT" AND PRINT IT 5 TIMES."
  420. 3860 GOSUB835:UH=1:GOSUB850
  421. 3870 PRINT" ![210][197][205][193][210][203]
  422. 3880 [153]" !(null)(null)RIGHT$(null)(null)CLOSE(null)(null)(null)(null)CLOSE(null)ATN(null)VAL 5CLOSE(null)RIGHT$(null)VAL(null)"
  423. 3890 [153]" !                    REMARK-BLANK LINE
  424. 3900 PRINT" [211]:[195]                  CLEAR THE SCREEN
  425. 3910 [153]" (null):STR$                  DOWN A LINE
  426. 3920 PRINT" [212]:[212][217][208][197][160][201][206][160][217][207][213][210][160][206][193][205][197]
  427. 3930 [153]" ATN:(null)ATN(null)VAL$
  428. 3940 PRINT" [218]:[201]                  LET [201]=0
  429. 3950 [153]"  *PEEKVALCHR$RIGHT$(null)
  430. 3960 PRINT" [212]:[206][193][205][197]$
  431. 3970 [153]" PEEK:RIGHT$                  INCREASE RIGHT$ BY 1
  432. 3980 PRINT" [216]:[201]=5                IS [201]=5?
  433. 3990 [153]" MID$(null):*PEEKVALCHR$RIGHT$(null)            IF RIGHT$ ISN'T 5,JUMP
  434. 4000 PRINT" [197]:
  435. 4010 [153]" (null)OTE THE MID$UMP ON (null)(null). MID$UMP ON (null)ES IS
  436. 4020 PRINT" ALSO POSSIBLE."
  437. 4030 GOSUB835:UH=1:GOSUB850
  438. 4040 PRINT" [208][201][204][207][212] ALSO SUPPORTS SUBROUTINES,
  439. 4050 [153]" THAT IS SMALL PROGRAMS WITHIN A
  440. 4060 PRINT" LARGER PROGRAM. [211]UBROUTINES OR
  441. 4070 [153]" PROCEDURES CAN BE WRITTEN AND TESTED
  442. 4080 PRINT" AND THEN ADDED TO A LARGER PROGRAM.
  443. 4090 [153]" (null)UBROUTINES ARE ESPECIALLY VALUABLE
  444. 4100 PRINT" FOR TASKS THAT ARE TO BE REPEATED.
  445. 4105 [141]835:UH[178]1:[141]850
  446. 4110 [153]"  (null)HE COMMANDS ARE  (null): TO EXECUTE THE
  447. 4120 PRINT" ROUTINE AND [210]: TO MARK ITS END.
  448. 4130 [153]" (null): IS FOLLOWED BY A LABEL (LIKE THE
  449. 4140 PRINT" LABELS USED FOR JUMPS).
  450. 4150 [153]" LEFT$ERE IS A FINAL EXAMPLE SHOWING A
  451. 4160 PRINT" SIMPLE SUBROUTINE.
  452. 4170 [141]835:UH[178]1:[141]850
  453. 4180 [153]" ! STR$VAL(null)(null)(null)(null)(null)(null)ATN(null)VALCLOSE(null)(null)PEEK(null)(null)(null)(null)RIGHT$(null)VAL
  454. 4190 PRINT" [212]:[212][200][201][211][160][201][211][160][193] [212][197][211][212]
  455. 4200 [153]" (null):*(null)(null)PEEK1
  456. 4210 PRINT" [213]:*[211][213][194]2
  457. 4220 [153]" VAL:
  458. 4230 PRINT" !
  459. 4240 [153]" *(null)(null)PEEK1
  460. 4250 PRINT" [212]:[212][200][201][211][160][201][211][160][210][207][213][212][201][206][197][160][206][213][205][194][197][210][160]1
  461. 4260 [153]" (null):
  462. 4270 PRINT" *[211][213][194]2
  463. 4280 [153]" (null):(null)LEFT$RIGHT$(null) RIGHT$(null)CLOSE(null)(null)(null)(null)RIGHT$(null)VALCLOSE(null)(null)(null)PEEKVAL(null)CLOSE2
  464. 4290 PRINT" [210]:
  465. 4310 [141]835:UH[178]1:[141]850
  466. 4320 [153]" (null)HEN YOU ARE ENTERING A PROGRAM YOU
  467. 4330 PRINT" MAY INDICATE THAT YOU ARE FINISHED
  468. 4340 [153]" BY TYPING STR$(null)(null)VAL."
  469. 4350 [142]
  470. 5000 [143] TEACHER INSTRUCTIONS
  471. 5010 [153]"  (null)RIGHT$(null)(null)(null) IS A CONVERSATIONAL LANGUAGE
  472. 5020 PRINT" WRITTEN BY [202]OHN [211]TARKWEATHER AT"
  473. 5030 PRINT" [213].[211].[195]. TO SIMPLIFY THE WRITING OF"
  474. 5040 PRINT" PROGRAMS CONSISTING OF CONVERSATIONAL"
  475. 5050 PRINT" DIALOGUES.  [201]T IS A LANGUAGE THAT
  476. 5060 [153]" CAN BE UNDERSTOOD BY MOST 8 YEAR OLDS.
  477. 5070 GOSUB835:UH=1:GOSUB850
  478. 5080 PRINT"  [208][201][204][207][212]'S INSTRUCTIONS CAN BE COMPARED
  479. 5090 [153]" TO PEEKATN(null)RIGHT$LEN'S.
  480. 5100 PRINT" [212] - [208][210][201][206][212]    [193] - [201][206][208][213][212]
  481. 5110 [153]" MID$ - CHR$(null)(null)(null)     (null) - RIGHT$ASC/(null)LEFT$VAL(null) FOR STRINGS
  482. 5120 PRINT" [213] - [199][207][211][213][194]    [210] - [210][197][212][213][210][206]
  483. 5130 [153]" PEEK - RIGHT$=RIGHT$+1    (null) - RIGHT$ASC/(null)LEFT$VAL(null) FOR COUNTERS
  484. 5140 PRINT" [218] - [201]=0      [197] - [197][206][196]
  485. 5141 [153]" (null)OME VERSIONS OF (null)RIGHT$(null)(null)(null) SUPPORT
  486. 5142 PRINT" COMPUTATION. [212]HIS [212]INY-[208][201][204][207][212] DOESN'T.
  487. 5150 [141]835               
  488. 5360 [142]
  489. 11000 [153][200](UD$,18):[129]I[178]1[164]6:[153]UP$:[130]:[153][200](UD$,18):[142]
  490.